package com.ruoyi.jetLinks.domain;


import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 产品分类对象 device_type
 *
 * @author lxx
 * @date 2022-01-27
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("device_type")
@ApiModel(value = "产品分类")
public class DeviceType implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 主键 */
//    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private Long id;

    /** 父id */
    @Excel(name = "父id")
    @ApiModelProperty(value = "父id")
    private Long parentid;

    /** 产品类型 */
    @Excel(name = "产品类型")
    @ApiModelProperty(value = "产品类型")
    private String deviceKey;

    /** 产品名称 */
    @Excel(name = "产品名称")
    @ApiModelProperty(value = "产品名称")
    private String deviceName;

    /** 顺序 */
    @Excel(name = "顺序")
    @ApiModelProperty(value = "顺序")
    private Integer orderNum;

    /** 删除标志（0代表存在 2代表删除） */
    @TableLogic
    private String delFlag;

    /** 部门状态（0正常 1停用） */
    @Excel(name = "部门状态", readConverterExp = "0=正常,1=停用")
    private String deviceStatus;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    private Date updateTime;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remarks;

    /** 路径 */
    private String path;

    /** 子菜单 */
    @TableField(exist = false)
    private List<DeviceType> children = new ArrayList<>();
}
